#pragma once
#include "IPrimitive.h"
#include "../Math/Matrix.h"
#include <math.h>

#define PointZero Point(0,0)

class Point
{
public:
	Point(float x = 0 ,float y = 0 ,float z = 0,COLOR color = RGBA(0,0,0,255));
	~Point(void);
	virtual void draw(IPixelDrawer* dr);
	float length(){return sqrtf(x*x+y*y);};
	void mulMat(Mat4& mat);
	void operator=(Point& pt);
	Point operator+(Point& pt);
	Point operator-(Point& pt);
	Vec3 toVec3(){return Vec3(x,y,z);};
	float x,y,z;
	COLOR color;
};

